ما هو أندرويد؟
أندرويد هو مكدس البرمجيات للهواتف النقالة التي تتضمن نظام التشغيل Operating System والتطبيقات Applications والبرمجيات الوسيطة الرئيسية Middleware. شركة جوجل قامت بإعطاء نظرة خاصة على “SDK”
الخاصة بأندرويد، والتي تنص على واجهات برمجة التطبيقات والأدوات اللازمة
للبدء في تطوير التطبيقات على منصة اندرويد باستخدام لغة البرمجة جافا.
كيف يمكنني البدء ببرمجة اندرويد؟
لكي نبدأ في برمجة مع أندرويد من المهم أن يكون لدينا خلفية عن لغة برمجة جافا JAVA والبرمجيات كائنة التوجه object-oriented programming, اذا كنت تعرف لغة برمجة أخرى ولا تعرف كيفية البرمجة بلغة جافا، نعتقد بأنك ستتعلم جافا بسرعة كونها سهلة وسريعة التعلم.
كما ان لغة جافا تستعمل إكس إم إل XML في واجهتها المرئية, ولغة وصفية أخرى سهلة الاستخدام لذا ستجعلنا نقوم بعمل البرامج لأندرويد بسهولة.
يمكنك البرمجة على أي منصة ويندوز ، ماك أو لينكس. وهذا يتطلب تحميل SDK
الخاص بأندرويد ، الذي يتألف من جميع مجموعات جافا الذي يستخدمها أندرويد،
والمضاهاة أو المحاكاة لاختبار التطبيقات التي تم تطويرها.
إضغط هنا لتثبيت البرامج الضرورية وتكوين وتركيب كل شي.
ما هي هندسة أندرويد؟ Android Architecture
سنوصف بالتفصيل كل قسم من أقسام المكونات الرئيسية لنظام تشغيل أندرويد.
تطبيقات Applications: وستتضمن
التطبيقات الأساسية للعميل البريد الإلكتروني، والرسائل القصيرة،
والتقويم، والخرائط، المتصفح، والاتصالات، وغيرها. جميع التطبيقات مكتوبة
بلغة البرمجة جافا.
إطار التطبيق Applications Framework: يمنح المطورين من الوصول الكامل إلى واجهات برمجة إطار API
والتطبيقات نفسها المستخدمة من قبل النواه. الهيكل مصمم لتبسيط إعادة
استخدام المكونات, أي تطبيق يمكن نشر قدراته لأي تطبيق آخر ثم يمكن
الاستفادة من تلك القدرات (تخضع لقواعد سلامة الإطار) هذه الآلية نفسها
تسمح لمكونات لتحل محلها من قبل المستخدم.
مكتبات Libraries: أندرويد يتضمن مجموعة من المكتبات “C/C++” المستخدمة من قبل مختلف مكونات نظام التشغيل . هذه القدرات تعرض للمطورين من خلال إطار تطبيق أندرويد. بعض ما يلي : نظام مكتبة “C” (مكتبة التنفيذ القياسية “C” )، مكتبات الإعلام، ومكتبات الرسومات، “3d”, “SQLite”, وغيرهم.
توقيت التشغيل أندرويد Android Runtime: أندرويد يتضمن مجموعة من المكتبات الأساسية التي تمنحه العديد من الميزات الأساسية المتوفرة في المكتبات الموجودة بلغة البرمجة جافا, كل تطبيق أندرويد يدير عملياته بنفسه، مع النموذج الخاص به من آلة Dalvik الظاهرية. تمت كتابة Dalvik بحيث يمكن للجهاز تشغيل عدة آلات ظاهرية بكفاءة.
Dalvik يدير الملفات في شكل Dalvik القابل للتنفيذ (.dex)،
والذي هو الأمثل للذاكرة الدنيا، الآلة الظاهرية مبنية على أساس السجلات،
وتدير الطبقات المترجمة التي جمعتها جافا التي تم تحويلها من الشكل format.dex بواسطة الأداة المرفقة “dx”.
نواة - لينكس : أندرويد يعتمد على الإصدار 2.6
لنظام لينكس في الخدمات الأساسية له مثل الأمن، وإدارة الذاكرة، وإدارة
العملية، ومكدس الشبكة النموذجية للتعريف, النواة أيضا تقوم بدور طبقة
تجريد بين الأجهزة وبقية مكدس البرامج.
التسلسل الهرمي البصري لأندرويد : الفئة او الصنف الرئيسي لأندرويد هو النشاط أو Activity كائن من الدرجة android.app.Activity.
النشاط Activity يقوم بعمل أشياء كثيرة ولكن في حد ذاته لا يقدم أي شيء على الشاشة. للحصول على شيء على شاشة عرض من الضروري تصميم واجهة المستخدم “UI” بواسطة مشاهدات Views أو مشاهدة المجموعات Viewgroups, هذه الطبقات تستخدم لخلق التفاعل بين المستخدم والنظام الأساسي لأندرويد.
المشاهدة Views : تعتبر كائن Object من النوع android.view.View, بل هو بنية البيانات التي تحتوي على خصائص طبقة بيانات ومعلومات محددة في مساحة مستطيلة من الشاشة حيث أن مشهد “View” يحتوي على: التخطيط “Layout”، والرسم Drawing، تغيير التركيز Focus change، والتمرير Scrolling, الخ...
النوع View مفيد كنوع بدائي للـحاجيات أو Widgets
وهم عبارة عن فئات فرعية تقوم برسم وتنفيذ بعض العناصر على الشاشة،
الحاجيات تتصرف تعتمد على نفسها بالتشغيل ولكن بإمكاننا إستعمالها لنبني
بسرعة واجهة المستخدم الذي نريدها بحيث أن قائمة الحجيات الذي يمكننا بأن
نستخدمها هي Text, EditText, InputMethod, MovementMethod, Button, RadioButton, CheckBox, ScrollView.
النوع Viewgroups : تعتبر كائن Object من النوع android.view.Viewgroups وكما يوحي إسمها يعتبر كائن عرض خاص وظيفتها الإحتواء والسيطرة على “View” و أنواع “Viewgroups” أخرى، بحيث تسمح لنا ببناء هياكل وبناء واجهة معقدة من عدة عناصر على الشاشة يتم تشريحها من قبل كيان واحد.
الطبقة Viewgroups : تعتبر مفيدة كأساس لطبقة التخطيط Layout التي هي أقسام فرعية منفذة و توفر الأنواع الأكثر شيوعا من تخطيطات الشاشة. وتوفر وسيلة لبناء هيكل للحصول على قائمة Views.
شجرة منظمة لواجهة المستخدم : في منصة أندرويد انت تقوم بتحديد النشاط Activity تعرفه على واجهة المستخدم بواسطة عقد شجرة عرض مركبة من View و Viewgourps،
كما نرى في الصورة ادناه. الشجرة يمكن أن تكون بسيطة أو معقدة تعتمد عى
الحاجة إليها، ويمكن تطويرها باستخدام الحاجيات والتتخطيطات التي يمنحها
أندرويد أو نبني الـ Views الخاصة بنا.